package com.yunsc.store.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.yunsc.common.utils.PageResult;
import com.yunsc.store.dto.PageDTO;
import com.yunsc.store.dto.QueryPageDTO;
import com.yunsc.store.entity.YunscPageEntity;
import com.yunsc.store.vo.PageDetailVO;

/**
 * 店铺页面记录表
 *
 * @author adan
 * @email 2028038953@qq.com
 * @date 2024-04-22 11:35:52
 */
public interface YunscPageService extends IService<YunscPageEntity> {

    /**
     * 分页查询店铺页面记录表
     *
     * @param params        查询条件
     * @param storeId 当前店铺id
     * @return 店铺页面记录表分页数据
     */
    PageResult<YunscPageEntity> queryPageList(QueryPageDTO params, Integer storeId);

    /**
     * 获取页面详情
     *
     * @param pageId 页面id
     * @return 页面详情
     */
    YunscPageEntity getPageDetail(Integer pageId);

    /**
     * 查询默认页面数据
     *
     * @param storeId 店铺id
     * @return 默认页面数据
     */
    PageDetailVO queryPageDefaultData(Integer storeId);

    /**
     * 编辑页面
     *
     * @param params 编辑页面参数
     */
    void editPage(PageDTO params);


    /**
     * 新增页面
     *
     * @param params  新增页面参数
     * @param storeId
     */
    void addPage(PageDTO params, Integer storeId);

    /**
     * 删除页面
     *
     * @param pageId 页面id
     */
    void deletePage(Integer pageId);

    /**
     * 设置首页
     *
     * @param pageId 页面id
     */
    void setHomePage(Integer pageId);

    /**
     * 查询页面详情
     *
     * @param pageId 页面id
     * @return 页面详情
     */
    PageDetailVO queryDefaultPageDetail(Integer pageId, Integer storeId);
}

